package com.youmu.shop.product.dao;


import java.util.List;

import org.apache.ibatis.annotations.Param;

import com.youmu.shop.base.dao.BaseDao;
import com.youmu.shop.product.vo.BannerVo;
import com.youmu.shop.product.vo.ProductBean;
import com.youmu.shop.product.vo.ProductCategoryVO;
import com.youmu.shop.product.vo.ProductImage;
import com.youmu.shop.product.vo.ProductSpecificationVO;
import com.youmu.shop.product.vo.ProductVO;

/**
 * 
 * <p>Title:ProductDao</p>
 * @author xc
 * @version	v1.0
 * <p>Date:2017年1月20日下午12:24:24</p>
 * <p>Description:TODO</p>
 */
public interface ProductDao extends BaseDao{

	List<ProductCategoryVO> findProductCategory(@Param("productName")String productName);

	List<ProductVO> findProduct(@Param("isNew")Integer isNew,@Param("productName")String productName);

	ProductVO getProduct(Long productId);

	/**
	 * 根据商品id判断配送类型
	 * @param productId
	 * @return
	 */
	Boolean getIsCakeById(@Param("productId")long productId);

    /**
     * 首页Banner
     * @return
     */
    List<BannerVo> getBanners();

    /**
     * 根据商品id查询它所有的图片
     * @param productId
     * @return
     */
    List<ProductImage> selectProductImagesByProductId(Long productId);
    
    /**
     * 商品规格详情查询
     * @param productId
     * @return
     */
    List<ProductSpecificationVO>getProductSpecificationValues(Long productId);
 
    /**
     * 根据商品种类查询商品以及分类详情
     * @param categoryId
     * @return
     */
    List<ProductCategoryVO> findProductByCategoryId(Long categoryId);
    
    /**
     * 根据id查询商品基本信息
     * @param productId
     * @return
     */
    ProductBean selectProductDetails(Long productId);
}
